package bdqn.hfxt;

public class Test {
    public static void main(String[] args) {
        //定义变量存储公式结果
        double result = 0;
        //定义变量存储公式：
        String gs = "";
        //循环100内所有数
        for (int i = 1; i <= 100; i++) {
            //统计每个数的质因数和
            double sum = 0;
            //循环除1和本身以外的可能因子
            boolean zhishu = true;
            for(int j=2;j<i;j++){
                //能整除就是因子
                if(i%j == 0){
                    //能整除就不是质数
                    zhishu = false;
                    //System.out.print(j+"\t");
                    //再判断质数
                    int k=2;
                    for(k=2; k<j; k++){
                        if(j % k == 0){
                            //能被其他数整除就不是质因子
                            break;
                        }
                    }
                    if(k == j){
                        //没有被其他数整数就是质因子
                        System.out.print(i+"的质因数有["+j+"]");
                        sum += j;
                    }
                }
            }
            if(zhishu){
                //没有整除的因子，表示i是质数
                System.out.print(i+"的质因数有["+i+"]");
                sum += i;
            }
            System.out.println("质因数和：" + sum + "，分母是：" + i);

            //计算公式每一项
            if(i % 2 == 0){//分母偶数求和
                result += sum / i;
                gs += " + " + sum+"/"+i;
            }else{//分母奇数求差
                result -= sum / i;
                gs += " - " + sum+"/"+i;
            }
        }
        System.out.println(gs);
        System.out.println("公式结果为：" + result);
    }
}
